package com.easylinkin.linkappapi.facerecognition.service.ai;

import com.google.gson.JsonObject;
import org.springframework.web.multipart.MultipartFile;
import retrofit2.Call;

import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
 * 适配第三方平台的人脸识别及基础功能
 * */
public interface FaceRecognitionService {

    /**
     * 注册第三方平台上的用户，创建人脸底库
     */
    Optional<JsonObject> registerUser(String username,  MultipartFile[] photos, List<String> faceTokens, Map<String, String> photoUrls);

    /**
     * 其中，subjectId 为第三方平台的用户ID
     * */
    Optional<JsonObject> updateUser(String username, String subjectId, String userId, MultipartFile[] photos, List<String> imgs, Map<String, String> photoUrls);

    /**
     * 删除第三方平台的用户
     * */
    boolean deleteUser(String subjectId);

    /**
     * 调用第三方平台的识别接口。传入数据为LinkThings获取的Base64的照片数据
     * */
    Optional<JsonObject> recognize(File photoInfo);
}
